perm filename A2E.KK[S,DOC]2 blob
sn#022066 filedate 1973-01-30 generic text, type T, neo UTF8
00100 UNIVERSITY OF UTAH COMPUTATIONAL PHYSICS GROUP January 1973
00200 REPORT NO. UCP-6
00300
00400 STANFORD ARTIFICIAL INTELLIGENCE LABORATORY
00500 OPERATING NOTE 71
00600
00700
00800
00900
01000
01100
01200
01300
01400
01500
01600
01700
01800
01900
02000 A2E
02100
02200
02300 STANFORD AI PDP-10 ASCII TO EBCDIC CODE CONVERSION PROGRAM*
02400
02500
02600
02700 by
02800
02900
03000 Kevin Kay
03100
03200 University of Utah
03300
03400
03500
03600
03700
03800
03900
04000
04100
04200
04300
04400
04500
04600
04700
04800
04900
05000 *This research was sponsored by the Advanced Research Projects Agency
05100 of the Office of the Department of Defense under Contract No.
05200 F30602-70-C-0300 at the University of Utah.
00100 1. INTRODUCTION
00200
00300 A2E is a program for transferring files from the Stanford AI
00400 PDP-10 to an IBM 360 Series machines. It will transfer files written
00500 in ASCII from the PDP-10 to the System/360 and EBCDIC files from the
00600 System/360 to the PDP-10 .
00700
00800
00900 2. NOTES ON THE PROGRAM
01000
01100 1) Common ASCII characters with no EBCDIC equivalent are translated
01200 as follows:
01300
01400 ASCII EBCDIC
01500
01600 ↑ ?
01700 \ <space>
01800 [ <
01900 ] >
02000
02100 On translation back to ASCII, ?,<sp>,< and > will remain unchanged,
02200 of course.
02300 Vertical tabs are ignored, and horizontal tabs are replaced
02400 by blanks, assuming eight spaces per tab.
02500
02600 2) The program uses the 7 track convert option of the System /360.
02700 Thus three 8-bit EBCDIC characters are written on the tape as four
02800 six-bit characters. In order to remain compatible with the PDP-10
02900 hardware, the number of characters on each tape record must therefore
03000 be divisible by nine. For this reason, the program writes and reads
03100 81 characters per record on the magnetic tape.
03200
03300 3) If an SOS file is written on tape, the page number appears as a
03400 sequence number in columns 73-75 and the line number in columns
03500 76-80. Column 81 is blank.
03600
03700 4) The program assumes that the ASCII file is on the user's disk
03800 area, and that the magnetic tape is on MTA0. These devices could be
03900 changed by an assignment statement such as
04000
04100 .AS MTA1 MTA0
04200
04300 4) If an ASCII form feed is encountered on input, the program assumes
04400 an end of page, and fills up the output file with blank lines to the
04500 end of the page, assuming 59 lines per page.
04600
04700 5) If an input ASCII line is longer than 72 characters, the remaining
04800 characters will be written in the next tape record, with asterisks in
04900 columns 73-80.
05000
00100 3. INSTRUCTIONS FOR MOVING ASCII FILES TO THE SYSTEM/360
00200
00300
00400 a) Mount a magnetic tape on MTA0, write enabled.
00500
00600 b) Rewind the tape.
00700
00800 c) Run the program A2E as in the following prototype example.
00900
01000 .R A2E
01100
01200 INPUT CODE: A<cr>
01300 FILE NAME: JOE<cr>
01400
01500 *** TAPE CONTROL SECTION ***
01600
01700 * S<cr>
01800
01900 *↑C
02000
02100 .
02200
02300 The tape control section allows users all the tape
02400 positioning options of PIP. For a full description of the use of
02500 this section, the DEC documentation on the CODE program, of which A2E
02600 is an adaptation, should be consulted.
02700
02800
02900 d) Take the tape to the System/360 Computer and run the following
03000 prototype program:
03100
03200 //A2E JOB <jobcard>
03300 /* SETUP T,'PLEASE MOUNT TAPE U000 ON 0C0, READ ONLY'
03400 // EXEC PGM=IEHMOVE
03500 //SYSPRINT DD SYSOUT=A
03600 //SYSUT1 DD UNIT=2314,VOL=SER=SYS03,DISP=OLD
03700 //TAPE DD UNIT=TAPE7,DISP=(OLD,PASS),LABEL=(,BLP),VOL=SER=TAPE,
03800 // DCB=(DEN=1,TRTCH=C,RECFM=F,LRECL=81)
03900 //SYS15 DD UNIT=2314,DISP=OLD,VOL=SER=SYS15
04000 //SYSIN DD *
04100 COPY DSNAME=A123.BILL,FROM=0C0=(TAPE,1),TO=2314=SYS15,FROMDD=TAPE
04200 /*
04300
04400 The above SETUP statement is peculiar to the Stanford 360/67.
04500 In addition, the disk volume and the file-name specification must be
04600 altered as required.
04700
04800 If you are using the Stanford 360/67, you will find that
04900 TAPEDUMP is cheaper to use than IEHMOVE. You should also use the
05000 FUTILITY partition overnight if you can wait that long. However, the
05100 JCL will have to be modified to use this partition. (See the Campus
05200 Facility BULLETIN, Vol VII, No 8 for details).
00100 A prototype TAPEDUMP job to do the same thing would be as follows:
00200 //A2E JOB <jobcard>
00300 /* SETUP T,'PLEASE MOUNT TAPE U000 ON 7 TRACK, READ ONLY'
00400 // EXEC TAPEDUMP
00500 //GO.TWO DD UNIT=TAPE7,DCB=(DEN=1,TRTCH=C)
00600 //GO.FT11F001 DD DCB=(LRECL=81,BLKSIZE=1620),DISP=(,KEEP),
00700 // VOL=SER=SYS15,DSN=A123.BILL
00800 //GO.SYSIN DD *
00900 &PARMS DUMP=F,DISK=T,LDISK=81 &END
01000 /*
01100
01200
01300 e) Using WYLBUR, load the file as follows:
01400
01500 USE BILL LRECL=81 ON SYS15
01600 SET LENGTH=80
01700
01800
01900 At this point, you have a regular WYLBUR data set and can do what you
02000 like with it (e.g., print, punch, etc). However, it still has
02100 sequence numbers in columns 73/80. to remove these, say, in WYLBUR,
02200
02300 CH 73/80 TO '' IN ALL NOLIST
02400
02500 To gain the full advantage of the conversion, you may wish to
02600 specify the upper and lower case chain for printing.
02700
00100 4. INSTRUCTIONS FOR MOVING EBCDIC FILES TO THE PDP-10.
00200
00300 a) Using WYLBUR, save the file as follows:
00400
00500 SAVE JOE ON SYS15 LRECL=81(1)
00600
00700
00800 b) Run the following program:
00900
01000 //E2A JOB <jobcard>
01100 /* SETUP T,'PLEASE MOUNT TAPE U000 ON 0C0, WRITE ENABLE'
01200 // EXEC PGM=IEHMOVE
01300 //SYSPRINT DD SYSOUT=A
01400 //SYSUT1 DD UNIT=2314,VOL=SER=SYS03,DISP=OLD
01500 //TAPE DD UNIT=TAPE7,DISP=(OLD,PASS),LABEL=(,BLP),VOL=SER=TAPE,
01600 // DCB=(DEN=1,TRTCH=C,RECFM=F,LRECL=81)
01700 //SYS15 DD UNIT=2314,DISP=OLD,VOL=SER=SYS15
01800 //SYSIN DD *
01900 COPY DSNAME=A123.JOE,FROM=2314=SYS15,TO=0C0=(TAPE,1),TODD=TAPE
02000 /*
02100
02200
02300 The F partition can also be used for this job, of course.
02400
02500 c) Mount the tape on MTA0 at the AI Project.
02600
02700 d) Rewind the tape.
02800
02900 e) Run the program A2E as in the following prototype example:
03000
03100 .R A2E
03200
03300 INPUT CODE: E<cr>
03400
03500 OUTPUT FILE NAME: XYZ<cr>
03600
03700 *** TAPE CONTROL SECTION ***
03800
03900 *S<cr>
04000
04100 *
04200
04300
04400 f) If your input file had sequence numbers in columns 73/80, you
04500 would now probably want to remove them with the E switch in PIP. You
04600 should also use the C switch to suppress trailing blanks and convert
04700 multiple spaces to tabs.
00100 5. Reporting of Errors and Suggestions for Improvement.
00200
00300 These should be recorded in the Stanford AI PDP-10 by means
00400 of the command SEND ACH.
00500
00600